﻿using Sustainalytics.ESGRatings.Service.Models.DTOs.RpIndicators;

namespace Sustainalytics.ESGRatings.Service.Models.Common
{
    public static class EsgRatingsUtility
    {
        public static string GetTrendTypeName(EsgRpIndicatorTrendTypeEnum trendType)
        {
            switch (trendType)
            {
                case EsgRpIndicatorTrendTypeEnum.Positive:
                    return "Positive";
                case EsgRpIndicatorTrendTypeEnum.Neutral:
                    return "Neutral";
                case EsgRpIndicatorTrendTypeEnum.Negative:
                    return "Negative";
            }

            return null;
        }

        public static string GetControversyLevelName(EsgRpControversyLevelEnum controversyLevel)
        {
            switch (controversyLevel)
            {
                case EsgRpControversyLevelEnum.Low:
                    return "Low";
                case EsgRpControversyLevelEnum.Moderate:
                    return "Moderate";
                case EsgRpControversyLevelEnum.Significant:
                    return "Significant";
                case EsgRpControversyLevelEnum.High:
                    return "High";
                case EsgRpControversyLevelEnum.Severe:
                    return "Severe";
            }

            return null;
        }

        public static string GetOutlookTypeName(EsgRpIndicatorOutlookTypeEnum outlookType)
        {
            switch (outlookType)
            {
                case EsgRpIndicatorOutlookTypeEnum.Positive:
                    return "Positive";
                case EsgRpIndicatorOutlookTypeEnum.Neutral:
                    return "Neutral";
                case EsgRpIndicatorOutlookTypeEnum.Negative:
                    return "Negative";
            }

            return null;
        }
    }
}
